
import { Message } from 'element-ui'
// 删除
/**
 * @param {this}  _this   this指向
 * @param {function} success  成功的回调
 * @param {string} customClass 自定义类名
 * @param {string} message HTML 片段
 */
export function deleteValue({
  _this,
  message,
  customClass,
  success
}) {
  _this
    .$confirm(message || '此操作将永久删除该数据, 是否继续?', '提示', {
      confirmButtonText: '确定',
      cancelButtonText: '取消',
      type: 'warning',
      dangerouslyUseHTMLString: true,
      customClass: customClass || ''
    })
    .then(() => {
      success()
    })
    .catch(() => {
      Message('已取消删除', 'info')
    })
}

// 获取指定节点的最小高度  例如 : 获取一个容器距离浏览器底部的距离来设置最小高度
/**
 * @param {this}  that   this指向
 * @param {String} refEl 指定容器的ref名称
 * @param {Number} pagination 分页的ref名称
 */
export function getMinH(that, refEl, pagination) {
  let conNode = null
  if (that.$refs[refEl].$el) { // 组件
    conNode = that.$refs[refEl].$el
  } else { // 原生标签
    conNode = that.$refs[refEl]
  }
  const conNodeInfo = conNode.getBoundingClientRect()
  const windowH = document.documentElement.clientHeight || document.body.clientHeight
  let minH = windowH - conNodeInfo.top - 10
  if (pagination) {
    const paginationH = that.$refs[pagination].$el ? that.$refs[pagination].$el.offsetHeight : that.$refs[pagination].offsetHeight
    minH = minH - paginationH
  }
  return minH
}

